<?php

namespace app\admin\controller;

use app\admin\cache\UserInfoCache;

/**
 * 基类 控制器继承此类
 */
class BaseController extends \app\common\basic\BaseController
{

    /**
     * 当前登陆管理员信息
     */
    protected $adminInfo;

    /**
     * 当前登陆管理员ID
     */
    protected $adminId;

    /**
     * 当前登陆管理员账号
     */
    protected $adminName;

    /**
     * 初始化
     */
    protected function init(): void
    {
        parent::init();
        // 登录模式赋值
        $isLogin = request()->header('check_login', false);
        if ($isLogin) {
            $result = request()->header('check_admin');
            $userInfoCache = new UserInfoCache($result['id']);
            $this->adminId = $result['id'];
            $this->adminName = $result['username'];
            $this->adminInfo = $userInfoCache->getUserInfo();

            // 用户数据传递给逻辑层
            $this->logic && $this->logic->init($this->adminInfo);
        }
    }
}
